<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // var list = [45, 21, 36, 94, 5, 72];

    // var min = list[0]; //假设第一个值时最小值

    // for (var j = 1; j < list.length; j++) { // 后面的每一个值的下标
    //     var item = list[j]; //  后面的每一个值
    //     if (item < min) {
    //         min = item;
    //     }
    // }

    // console.log(min);

</script>
<script>

    // 选择排序：
    // 第一步： 取数组的最小值 -> 放在第一个的位置
    // 第二步： 取数组的第二小值 -> 放在第二个的位置
    // ... 依次类推

    var list = [45, 21, 36, 94, 5, 72];
    console.log("原数组", list);


    // 第一轮:
    // 取数组的最小值 -> 放在第一个的位置
    // 5 [21, 36, 94, 45, 72]

    var minIndex = 0; //假设第一个值时最小值(记录最小值的下标)

    for (var j = 1; j < list.length; j++) { // 后面的每一个值的下标
        var item = list[j]; //  后面的每一个值
        if (item < list[minIndex]) { // 如果存在比 当前值还要小的数 -> 记录下标
            minIndex = j;
        }
    }

    var temp = list[0];
    list[0] = list[minIndex];
    list[minIndex] = temp;


    console.log(list);


    // 第二轮:
    // 取数组的第二小值 -> 放在第二个的位置
    // 5   21 [36, 94, 45, 72]

    var minIndex = 1; //假设第二个值时第二值(记录第二小值的下标)

    for (var j = 1 + 1; j < list.length; j++) { // 后面的每一个值的下标
        var item = list[j]; //  后面的每一个值
        if (item < list[minIndex]) { // 如果存在比 当前值还要小的数 -> 记录下标
            minIndex = j;
        }
    }

    var temp = list[1];
    list[1] = list[minIndex];
    list[minIndex] = temp;


    console.log(list);

    // 第三轮:
    // 取数组的第三小值 -> 放在第三个的位置
    // 5   21  36 [ 94, 45, 72]

    var minIndex = 2; //假设第三个值时第三值(记录第三小值的下标)

    for (var j = 2 + 1; j < list.length; j++) { // 后面的每一个值的下标
        var item = list[j]; //  后面的每一个值
        if (item < list[minIndex]) { // 如果存在比 当前值还要小的数 -> 记录下标
            minIndex = j;
        }
    }

    var temp = list[2];
    list[2] = list[minIndex];
    list[minIndex] = temp;


    console.log(list);

    // 第四轮:
    // 取数组的第四小值 -> 放在第四个的位置
    // 5   21  36   45  [94, 72]

    var minIndex = 3; //假设第四个值时第四值(记录第四小值的下标)

    for (var j = 3 + 1; j < list.length; j++) { // 后面的每一个值的下标
        var item = list[j]; //  后面的每一个值
        if (item < list[minIndex]) { // 如果存在比 当前值还要小的数 -> 记录下标
            minIndex = j;
        }
    }

    var temp = list[3];
    list[3] = list[minIndex];
    list[minIndex] = temp;


    console.log(list);



    // 第五轮:
    // 取数组的第五小值 -> 放在第五个的位置
    // 5   21  36   45  72 [ 94]

    var minIndex = 4; //假设第五个值时第五值(记录第五小值的下标)

    for (var j = 4 + 1; j < list.length; j++) { // 后面的每一个值的下标
        var item = list[j]; //  后面的每一个值
        if (item < list[minIndex]) { // 如果存在比 当前值还要小的数 -> 记录下标
            minIndex = j;
        }
    }

    var temp = list[4];
    list[4] = list[minIndex];
    list[minIndex] = temp;


    console.log(list);













</script>

</html>